package main

// 6. Z 字形变换
func convert(s string, numRows int) string {
	var result string
	dict := make(map[int][]byte)
	for i := 0; i < numRows; i++ {
		dict[i] = []byte{}
	}
	idx := 0   // 字符切片的索引号
	op := true // true表示++/false表示--
	for j := 0; j < len(s); j++ {
		dict[idx] = append(dict[idx], s[j])
		if idx+1 == numRows {
			op = false
		} else if idx == 0 {
			op = true
		}
		if op {
			idx++
		} else {
			idx--
			if idx < 0 {
				idx = 0
			}
		}
	}
	for i := 0; i < numRows; i++ {
		result += string(dict[i])
	}
	return result
}
